package cn.tedu.mimall.product.mapper;

import cn.tedu.mimall.product.pojo.entity.ProductState;
import cn.tedu.mimall.product.pojo.vo.ProductStateListItemVO;
import cn.tedu.mimall.product.pojo.vo.ProductStateStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ProductStateMapper {
    /**
     * 添加商品状态
     * @param productState 商品状态实体类
     * @return 添加数量
     */
    int insert(ProductState productState);

    /**
     * 根据商品状态id删除商品状态数据
     * @param id 商品状态id
     * @return 删除数量
     */
    int deleteById(Long id);

    /**
     * 根据商品状态id修改商品状态数据
     * @param productState 商品状态实体类
     * @return 修改数量
     */
    int updateById(ProductState productState);

    /**
     * 查询商品状态数据条数
     * @return 商品状态数据条数
     */
    int count();

    /**
     * 根据id查询商品状态数据
     * @param id 商品状态id
     * @return 匹配商品状态数据,没有时返回null
     */
    ProductStateStandardVO getStandardById(Long id);

    /**
     * 查询商品状态列表
     * @return 商品状态数据列表
     */
    List<ProductStateListItemVO> list();
}
